package com.ruoyi.production.service.impl.seed;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.production.domain.seed.SeedAmount;
import com.ruoyi.production.mapper.seed.SeedAmountMapper;
import com.ruoyi.production.service.seed.ISeedAmountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 种子量Service业务层处理
 *
 * @author ruoyi
 * @date 2021-07-07
 */
@Service
public class SeedAmountServiceImpl implements ISeedAmountService
{
    @Autowired
    private SeedAmountMapper seedAmountMapper;

    /**
     * 查询种子量
     *
     * @param seedAmountId 种子量ID
     * @return 种子量
     */
    @Override
    public SeedAmount selectSeedAmountById(Long seedAmountId)
    {
        return seedAmountMapper.selectSeedAmountById(seedAmountId);
    }

    /**
     * 查询种子量列表
     *
     * @param seedAmount 种子量
     * @return 种子量
     */
    @Override
    public List<SeedAmount> selectSeedAmountList(SeedAmount seedAmount)
    {
        return seedAmountMapper.selectSeedAmountList(seedAmount);
    }

    /**
     * 新增种子量
     *
     * @param seedAmount 种子量
     * @return 结果
     */
    @Override
    public int insertSeedAmount(SeedAmount seedAmount)
    {
        seedAmount.setCreateTime(DateUtils.getNowDate());
//        向已有的数据直接在原来的基础上添加库存
        int r =seedAmountMapper.updateSeedAmount1(seedAmount);
        if(r==0) {
            //        若原来的上面没有，则新加数据
            return seedAmountMapper.insertSeedAmount(seedAmount);
        }
        return 1;

    }

    /**
     * 修改种子量
     *
     * @param seedAmount 种子量
     * @return 结果
     */
    @Override
    public int updateSeedAmount(SeedAmount seedAmount)
    {
        seedAmount.setUpdateTime(DateUtils.getNowDate());
//        删除这条数据，将这条数据当作新数据处理
        seedAmountMapper.deleteSeedAmountById(seedAmount.getSeedAmountId());
        //        若原来已有的数据，则向已有的数据直接在原来的基础上添加库存
        int r =seedAmountMapper.updateSeedAmount1(seedAmount);
        if(r==0){
        //        若原来的上面没有，则当作新数据插入
        return seedAmountMapper.insertSeedAmount(seedAmount);
    }
        return 1;
    }

    /**
     * 批量删除种子量
     *
     * @param seedAmountIds 需要删除的种子量ID
     * @return 结果
     */
    @Override
    public int deleteSeedAmountByIds(Long[] seedAmountIds)
    {
        return seedAmountMapper.deleteSeedAmountByIds(seedAmountIds);
    }

    /**
     * 删除种子量信息
     *
     * @param seedAmountId 种子量ID
     * @return 结果
     */
    @Override
    public int deleteSeedAmountById(Long seedAmountId)
    {
        return seedAmountMapper.deleteSeedAmountById(seedAmountId);
    }
}
